//
//  NavTitleButton.swift
//  微博
//
//  Created by 段瑞金 on 16/5/11.
//  Copyright © 2016年 段瑞金. All rights reserved.
//

import UIKit

class NavTitleButton: UIButton {


    /*
    override func imageRectForContentRect(contentRect: CGRect) -> CGRect {
        return CGRectZero
    }
    
    override func titleRectForContentRect(contentRect: CGRect) -> CGRect {
        return CGRectZero
    }
    */
    override init(frame: CGRect) {
        super.init(frame: frame)
        setImage(UIImage(named: "navigationbar_arrow_up"), forState: .Normal)
        setImage(UIImage(named: "navigationbar_arrow_down"), forState: .Selected)
//        setTitle("段瑞金微博  ", forState: .Normal) //标题按钮的文字和图片之前的距离,既可以通过调整内边距来调整,也可以通过像左边的方式来调整,在给按钮添加标题的时候,空几个格子即可,也可以通过重写按钮的添加标题的方法来实现
        sizeToFit()
    }
    
    override func setTitle(title: String?, forState state: UIControlState) {
        //调整按钮文字和图片之间的距离
        super.setTitle((title ?? "") + "  ", forState: .Normal)
    }

    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
    
    override func layoutSubviews() {
        super.layoutSubviews()
        //设置按钮的标题和图片的位置
    
        titleLabel?.frame.origin.x = 0
        imageView?.frame.origin.x = titleLabel!.frame.size.width
        
        /*
        //仅仅按照下面的写法位置是不对的,因为这个方法会调用两次
        titleLabel?.frame.offsetInPlace(dx: imageView!.frame.size.width, dy: 0)
        imageView?.frame.offsetInPlace(dx: titleLabel!.frame.size.width, dy: 0)
        RJLOG("")
        */
        /*
        //但是下面的写法还是不太靠谱
        titleLabel?.frame.offsetInPlace(dx: -imageView!.frame.size.width * 0.5, dy: 0)
        imageView?.frame.offsetInPlace(dx: titleLabel!.frame.size.width * 0.5, dy: 0)
        */
        
        
    }

}
